package com.dys.testqueue16;

import java.util.Deque;
import java.util.LinkedList;

/**
 * @className: com.dys.testqueue16.DequeTest
 * @description: 双端队列
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/12 下午11:54
 */
public class DequeTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        /*
        双端队列：
        Deque<E> extends Queue
        Queue一端放 一端取的基本方法  Deque是具备的
        在此基础上 又扩展了 一些 头尾操作（添加，删除，获取）的方法
         */
        Deque<String> d = new LinkedList<>();
        d.offer("A");
        d.offer("B");
        d.offer("C");
        d.offer("D");
        System.out.println(d);

        d.addFirst("E");
        d.addLast("F");
        System.out.println(d);

        // 移除头
        System.out.println(d.poll());
        System.out.println(d);

        // 移除头和尾
        System.out.println(d.pollFirst());
        System.out.println(d.pollLast());
        System.out.println(d);
    }
}
